package lib

import "time"

// 订单的状态变化流程为：
// 	新建 -> 已确认 -> 已付款 -> 已发货 -> 已还款
type Transaction struct {
	Id                string    `json:"id"`                  // 单号
	Description       string    `json:"description"`         // 备注
	Value             uint64    `json:"value"`               // 金额(单位为一分钱)
	ShipmentNumber    string    `json:"shipment_number"`     // 物流号
	PaymentTxNumber   string    `json:"payment_tx_number"`   // 付款转账号
	RepaymentTxNumber string    `json:"repayment_tx_number"` // 还款转账号
	Status            string    `json:"status"`              // 状态
	CreateDate        time.Time `json:"create_date"`         // 创建时间
	PaymentDate       time.Time `json:"payment_date"`        // 付款时间
	RepaymentDate     time.Time `json:"repayment_date"`      // 应还款时间
	Supplier          string    `json:"supplier"`            // 供应商
	Company           string    `json:"company"`             // 核心企业
	FinancialOrg      string    `json:"financial_org"`       // 金融机构
}

type Product struct {
	Id 			string `json:"id"`				// 产品ID
	Name		string `json:"name"`			// 产品名称
	Produce		string `json:"produce"`			// 生产
	Processing	string `json:"processing"`		// 加工
	Transport	string `json:"transport"`		// 运输
	Wholesale	string `json:"wholesale"`		// 批发
	Sales		string `json:"sales"`			// 销售
	Buy			string `json:"buy"`				// 购买
	Status		string `json:"status"`			// 产品状态
	Updated		time.Time `json:"updated"`		// 更新时间
	Desc		string `json:"desc"`			// 产品描述信息
}

type Role struct { //角色结构体
	Id             string  `json:"id"`              //id
	Password       string  `json:"password"`        //密码
	Name           string  `json:"name"`            //企业名
	Address        string  `json:"address"`         //企业地址
	Phone          string  `json:"phone"`           //企业电话
	Email          string  `json:"email"`           //企业邮箱
	EnterpriseCode string  `json:"enterprise_code"` //企业统一社会信用代码
	Type           string  `json:"type"`            //企业类型
	Banlance       float64 `json:"banlance"`        //企业余额
	BankCard       string  `json:"bank_card"`       //企业卡号
}

type Vacuna struct { //疫苗结构体
	Id                string    `json:"id"`                 //疫苗id
	Name              string    `json:"name"`               //疫苗名称
	Productor         string    `json:"productor"`          //疫苗生产商
	FechaDeproducción time.Time `json:"fecha_deproducción"` //生产日期
	Status            string    `json:"status"`             //疫苗状态
	Description       string    `json:"description"`        //疫苗备注
	Propietario       string    `json:"propietario"`        //疫苗拥有者
	Value             float64   `json:"value"`              //疫苗价格
	Mintemperature    float64   `json:"mintemperature"`     //疫苗储存的最低温度
	Maxtemperature    float64   `json:"maxtemperature"`     //疫苗储存的最高温度
	Temperature       []Temp     `json:"temperature"`      //疫苗储存运输时的温度
}

type VacunaTransaction struct { //疫苗订单结构体
	Id                string    `json:"id"`                  // 单号
	Description       string    `json:"description"`         // 备注
	Value             float64   `json:"value"`               // 金额(单位为一分钱)
	Number            int64     `json:"number"`              // 疫苗数量
	ShipmentNumber    string    `json:"shipment_number"`     // 物流号
	PaymentTxNumber   string    `json:"payment_tx_number"`   // 付款转账号
	RepaymentTxNumber string    `json:"repayment_tx_number"` // 还款转账号
	Status            string    `json:"status"`              // 订单状态      ----`请使用上面const中的常量来标记订单状态`
	CreateDate        time.Time `json:"create_date"`         // 创建时间
	PaymentDate       time.Time `json:"payment_date"`        // 付款时间
	RepaymentDate     time.Time `json:"repayment_date"`      // 应还款时间
	RepayDate         time.Time `json:"repay_date"`          // 实际还款时间
	Supplier          string    `json:"supplier"`            // 供应商
	Company           string    `json:"company"`             // 采购商
	FinancialOrg      string    `json:"financial_org"`       // 金融机构
	Logística         string    `json:"logística"`           // 物流商
	Temperature       []Temp   `json:"temperature"`         // 运输保存中的温度数组
	VacunaId          []string  `json:"vacuna_id"`           // 此订单包含的疫苗id
}

type Temp struct {
	Id       string    `json:"id"`       //添加温度的角色id
	Roletype string    `json:"roletype"` //添加温度的角色类型
	Temps    []float64 `json:"temps"`    //温度数组
}